The present invention relates generally to transmission of data between active work stations and a host over token ring or frame relay networks and more particularly to an auto-adaptive method and system for load balancing in a connection oriented data transmission system.
On local Area Networks (LAN""s) such as token ring or simulated LAN using Frame Relay, access to a host is defined by a unique media access control (MAC) address. In those cases where several LANs connected by Bridges form a network, the same address can also be propagated on two or more LANs. Ideally, this should result in statistical load balancing by spreading the LAN traffic across the multiple duplicate MAC address.
However, a distribution disparity occurs for incoming calls from active work stations where the majority of the connections are established through one particular MAC address with respect to other duplicate MAC addresses in the network. The disparity is the result of both the operational nature of a bridged Token Ring environment or Frame Relay Switch and the stations. When an active work station wants to connect to a specific MAC address, it broadcasts a route discovery frame (which can be a Test Resolve Command frame or XID 802.2 command frame) to determine a path through the Token Ring or Frame Relay network to any communication controller (or front-end processor) having that MAC address. But depending upon the network configuration, it is possible that one of several communication controllers using the same MAC address will receive discovery frames sooner than the other communication controllers using the same address and answers systematically first. Because the active work stations normally use the route specified in the first response received, most of the connections will be established with that communication controller thereby causing a potential load balancing problem once the session data begins to flow.
A solution consists in monitoring the number of stations that are connected to the host through a communication controller. Based upon the number of supported connections, this communication controller will increase the time needed for additional connections to be established by delaying the response frame to a previously received discovery frame. Delaying the response for some time period allows the incoming call requests to be established through an alternate duplicate MAC address which results in a better call distribution or load balancing.
However, as will be described below in reference to FIGS. 2A and 2B, the amount of response delay time is a parameter depending upon the maximum number of active stations. Such a maximum number being variable, it is necessary for the user to define this parameter empirically in accordance with an estimate of this maximum number.
The invention contemplates a method and system for dynamically setting an optimum value for the response delay without requesting any parameter from the user.
The invention is particularly suited for use in a communications network for connecting a plurality of work stations to a host system via a plurality of front end communication controllers sharing the MAC address of the host system. In order to connect to the host, active work stations transmit route discovery frames to the host MAC address. These frames are received by all of the front end communication controllers at different times depending on the number of nodes in and the length of the paths they travel. In order to balance the load amongst the front end communication controllers, each calculates and introduces a delay time for issuing a response frame which is a logarithmic function of the current number of active work stations connected to the front end communications controller.